#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <fcntl.h>
#include <math.h>
#include <errno.h>
#include <sys/time.h>
#include <pthread.h>
#include <signal.h>
#include <semaphore.h>
#include <sched.h>
#ifdef IPP
#include <ipp.h>
#include <ippdefs.h>
#endif
#define FRAMECOUNT 598


typedef double FLOAT;
typedef unsigned int UINT32;
typedef unsigned long long int UINT64;
typedef unsigned char UINT8;

typedef struct colorquant
{
// PPM Edge Enhancement Code
//
UINT8 header[22];
UINT8 R[76800];
UINT8 G[76800];
UINT8 B[76800];
UINT8 convR[76800];
UINT8 convG[76800];
UINT8 convB[76800];
UINT8 R1[76800];
UINT8 G1[76800];
UINT8 B1[76800];


FLOAT
re,reor,or,orye,ye,yegr,bl,blgr,gr,blvi,vi,vire,wh,bla,br,grbl,pi,ofbl,grwh,grbla,gryl,re2,re3,re4,be1,be2,be3,be4,be5,pi2,pi3,pi4,pi5,pi6,pi7,vi2,vi3,vi4,vi5,vi6,vi7,vi8,vi9,vi10,vi11,blu2,blu3,blu4,blu5,blu6,blu7,blu8,blu9,blu10,gr2,gr3,gr4,gr5,gr6,gr7,gr8,gr9,gr10,gr11,gr12,gr13,gr14,gr15,yel2,yel3,yel4,yel5,yel6,yel7;
FLOAT
a,b,c,d,e,f,g,h,k,l,m,n,o,p,q,r,s,t,u,v,w,x,r2,r3,r4,b2,b3,b4,b5,b6,p2,p3,p4,p5,p6,p7,p8,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,bl2,bl3,bl4,bl5,bl6,bl7,bl8,bl9,bl10,g2,g3,g4,g5,g6,g7,g8,g9,g10,g11,g12,g13,g14,g15,y2,y3,y4,y5,y6,y7;

FLOAT mindis;
} Quant;


Quant quant[FRAMECOUNT];
char Inputdir[14]={'I','n','p','u','t','_','F','r','a','m','e','s','/','\0'};
char Outputdir[15]={'O','u','t','p','u','t','_','F','r','a','m','e','s','/','\0'};

/*.........................................Quantization Variables...........................................................................................*/

FLOAT red[3] ={102.0, 0.0, 0.0} ;
FLOAT redor[3]= {255.0, 51.0, 0.0};
FLOAT orange[3]={255.0,153.0,0.0};
FLOAT orangeyel[3]={255.0,204.0,0.0};
FLOAT yellow[3]= {255.0,255.0,0.0};
FLOAT yellowgr[3]={255.0,204.0,153.0};
FLOAT blue[3]= {51.0,153.0,255.0};
FLOAT bluegr[3]={153.0,255.0,204.0};
FLOAT green[3]={102.0,204.0,153.0};
FLOAT bluevi[3]={51.0,51.0,255.0};
FLOAT violet[3]={102.0,0.0,255.0};
FLOAT violetre[3]={255.0,51.0,255.0};
FLOAT white[3]={255.0,255.0,255.0};
FLOAT black[3]={0.0,0.0,0.0};
FLOAT brown[3]={153.0,51.0,0.0};
FLOAT yellowgre[3]={255.0,255.0,204.0};
FLOAT greenbl[3]={153.0,255.0,255.0};
FLOAT pink[3]={255.0,153.0,255.0};
FLOAT offbl[3]={0.0,153.0,204.0};
FLOAT greenyel[3]={204.0,255.0,102.0};
FLOAT greywh[3]={204.0,204.0,204.0};
FLOAT greybl[3]={51.0,51.0,51.0};
FLOAT red2[3]={255.0,0.0,0.0};
FLOAT red3[3]={255.0,0.0,51.0};
FLOAT red4[3]={255.0,51.0,51.0};
FLOAT beige1[3]={204.0,153.0,51.0};
FLOAT beige2[3]={153.0,102.0,0.0};
FLOAT beige3[3]={204.0,153.0,102.0};
FLOAT beige4[3]={204.0,102.0,0};
FLOAT beige5[3]={255.0,153.0,51.0};
FLOAT pink2[3]={255.0,0,255.0};
FLOAT pink3[3]={102.0,0.0,102.0};
FLOAT pink4[3]={102.0,0.0,51.0};
FLOAT pink5[3]={255.0,0.0,204.0};
FLOAT pink6[3]={255.0,0.0,153.0};
FLOAT pink7[3]={204.0,0.0,204.0};
FLOAT violet2[3]={153.0,0.0,255.0};
FLOAT violet3[3]={102.0,51.0,153.0};
FLOAT violet4[3]={153.0,153.0,204.0};
FLOAT violet5[3]={153.0,153.0,255.0};
FLOAT violet6[3]={102.0,102.0,255.0};
FLOAT violet7[3]={102.0,102.0,204.0};
FLOAT violet8[3]={51.0,102.0,153.0};
FLOAT violet9[3]={153.0,0.0,255.0};
FLOAT violet10[3]={102.0,0.0,255.0};
FLOAT violet11[3]={102.0,51.0,255.0};
FLOAT blue2[3]={204.0,255.0,255.0};
FLOAT blue3[3]={153.0,255.0,204.0};
FLOAT blue4[3]={0.0,102.0,204.0};
FLOAT blue5[3]={51.0,153.0,204.0};
FLOAT blue7[3]={102.0,255.0,255.0};
FLOAT blue8[3]={51.0,102.0,255.0};
FLOAT blue9[3]={0.0,204.0,255.0};
FLOAT blue10[3]={102.0,153.0,255.0};
FLOAT green2[3]={0.0,51.0,0.0};
FLOAT green3[3]={0.0,255.0,51.0};
FLOAT green4[3]={0.0,153.0,51.0};
FLOAT green5[3]={0.0,204.0,102.0};
FLOAT green6[3]={51.0,153.0,102.0};
FLOAT green7[3]={0.0,204.0,51.0};
FLOAT green8[3]={51.0,102.0,51.0};
FLOAT green9[3]={51.0,153.0,51.0};
FLOAT green10[3]={0.0,255.0,0.0};
FLOAT green11[3]={102.0,255.0,102.0};
FLOAT green12[3]={153.0,204.0,0.0};
FLOAT green13[3]={153.0,153.0,0.0};
FLOAT green14[3]={102.0,153.0,0.0};
FLOAT green15[3]={153.0,255.0,102.0};
FLOAT yellow2[3]={255.0,204.0,0.0};
FLOAT yellow3[3]={255.0,255.0,102.0};
FLOAT yellow4[3]={255.0,204.0,51.0};
FLOAT yellow5[3]={255.0,255.0,153.0};
FLOAT yellow6[3]={204.0,204.0,0.0};
FLOAT yellow7[3]={204.0,204.0,102.0};







/*..............................................Sharpen variables...................................................................*/

#define K 4.0

FLOAT PSF[9] = {-K/8.0, -K/8.0, -K/8.0, -K/8.0, K+1.0, -K/8.0, -K/8.0, -K/8.0, -K/8.0};


/*................................Sharpen Code ........................................................*/

void sharprof(Quant  quant)
{


int i,j;
FLOAT temp;
//printf("In sharpen\n");
   // Skip first and last row, no neighbors to convolve with
   for( i=1;i<239; i++)
    {

        // Skip first and last column, no neighbors to convolve with
        for( j=1;j<319; j++)
        {
		//printf("Quant=%d,i=%d,j=%d\n",(FLOAT)quant.R1[((i-1)*320)+j-1],i,j);
            temp=0;
            temp += (PSF[0] * (FLOAT)(quant.R1[((i-1)*320)+j-1]));
            temp += (PSF[1] * (FLOAT)(quant.R1[((i-1)*320)+j]));
            temp += (PSF[2] * (FLOAT)(quant.R1[((i-1)*320)+j+1]));
            temp += (PSF[3] * (FLOAT)(quant.R1[((i)*320)+j-1]));
            temp += (PSF[4] * (FLOAT)(quant.R1[((i)*320)+j]));
            temp += (PSF[5] * (FLOAT)(quant.R1[((i)*320)+j+1]));
            temp += (PSF[6] * (FLOAT)(quant.R1[((i+1)*320)+j-1]));
            temp += (PSF[7] * (FLOAT)(quant.R1[((i+1)*320)+j]));
            temp += (PSF[8] * (FLOAT)(quant.R1[((i+1)*320)+j+1]));
	    if(temp<0.0) temp=0.0;
	    if(temp>255.0) temp=255.0;
	    (quant.convR[(i*320)+j])=(UINT8)temp;

            temp=0;
            temp += (PSF[0] * (FLOAT)(quant.G1[((i-1)*320)+j-1]));
            temp += (PSF[1] * (FLOAT)(quant.G1[((i-1)*320)+j]));
            temp += (PSF[2] * (FLOAT)(quant.G1[((i-1)*320)+j+1]));
            temp += (PSF[3] * (FLOAT)(quant.G1[((i)*320)+j-1]));
            temp += (PSF[4] * (FLOAT)(quant.G1[((i)*320)+j]));
            temp += (PSF[5] * (FLOAT)(quant.G1[((i)*320)+j+1]));
            temp += (PSF[6] * (FLOAT)(quant.G1[((i+1)*320)+j-1]));
            temp += (PSF[7] * (FLOAT)(quant.G1[((i+1)*320)+j]));
            temp += (PSF[8] * (FLOAT)(quant.G1[((i+1)*320)+j+1]));
	    if(temp<0.0) temp=0.0;
	    if(temp>255.0) temp=255.0;
	    (quant.convG[(i*320)+j])=(UINT8)temp;

            temp=0;
            temp += (PSF[0] * (FLOAT)(quant.B1[((i-1)*320)+j-1]));
            temp += (PSF[1] * (FLOAT)(quant.B1[((i-1)*320)+j]));
            temp += (PSF[2] * (FLOAT)(quant.B1[((i-1)*320)+j+1]));
            temp += (PSF[3] * (FLOAT)(quant.B1[((i)*320)+j-1]));
            temp += (PSF[4] * (FLOAT)(quant.B1[((i)*320)+j]));
            temp += (PSF[5] * (FLOAT)(quant.B1[((i)*320)+j+1]));
            temp += (PSF[6] * (FLOAT)(quant.B1[((i+1)*320)+j-1]));
            temp += (PSF[7] * (FLOAT)(quant.B1[((i+1)*320)+j]));
            temp += (PSF[8] * (FLOAT)(quant.B1[((i+1)*320)+j+1]));
	    if(temp<0.0) temp=0.0;
	    if(temp>255.0) temp=255.0;
	    (quant.convB[(i*320)+j])=(UINT8)temp;
        }
    }
//printf("sharpen done\n");
}

/*..............................................................................End of Sharpen..............................................................*/

/*.......................................................................The Quantization function........................................................*/
void colorquant(Quant quant)
{

int i,j;
FLOAT temp;
   // Skip first and last row, no neighbors to convolve with
   //for( i=1; i<300; i++)
    //{

        // Skip first and last column, no neighbors to convolve with
        for( j=1; j<76800; j++)
        {
/*.....................................................Find Eulidean distances from each pallette color................................................*/
		
		quant.a=pow(((FLOAT)quant.R[j]-red[0]),2.0)+pow(((FLOAT)quant.G[j]-red[1]),2.0)+pow(((FLOAT)quant.B[j]-red[2]),2.0);
		quant.re=sqrt(quant.a);
		//printf("%f\n",re);
		quant.b=pow(((FLOAT)quant.R[j]-redor[0]),2.0)+pow(((FLOAT)quant.G[j]-redor[1]),2.0)+pow(((FLOAT)quant.B[j]-redor[2]),2.0);
		quant.reor=sqrt(quant.b);
				//printf("%f\n",reor);
		quant.c=pow(((FLOAT)quant.R[j]-orange[0]),2.0)+pow(((FLOAT)quant.G[j]-orange[1]),2.0)+pow(((FLOAT)quant.B[j]-orange[2]),2.0);
		quant.or=sqrt(quant.c);
				//printf("%f\n",or);
		quant.d=pow(((FLOAT)quant.R[j]-orangeyel[0]),2.0)+pow(((FLOAT)quant.G[j]-orangeyel[1]),2.0)+pow(((FLOAT)quant.B[j]-orangeyel[2]),2.0);
		quant.orye=sqrt(quant.d);
				//printf("%f\n",orye);
		quant.e =pow(((FLOAT)quant.R[j]-yellow[0]),2.0)+pow(((FLOAT)quant.G[j]-yellow[1]),2.0)+pow(((FLOAT)quant.B[j]-yellow[2]),2.0);
		quant.ye=sqrt(quant.e);
				//printf("%f\n",ye);
		quant.f =pow(((FLOAT)quant.R[j]-yellowgr[0]),2.0)+pow(((FLOAT)quant.G[j]-yellowgr[1]),2.0)+pow(((FLOAT)quant.B[j]-yellowgr[2]),2.0);
		quant.yegr=sqrt(quant.f);
				//printf("%f\n",yegr);
		quant.g =pow(((FLOAT)quant.R[j]-blue[0]),2.0)+pow(((FLOAT)quant.G[j]-blue[1]),2.0)+pow(((FLOAT)quant.B[j]-blue[2]),2.0);
		quant.bl=sqrt(quant.g);
				//printf("%f\n",bl);
		quant.h =pow(((FLOAT)quant.R[j]-bluegr[0]),2.0)+pow(((FLOAT)quant.G[j]-bluegr[1]),2.0)+pow(((FLOAT)quant.B[j]-bluegr[2]),2.0);
		quant.blgr=sqrt(quant.h);
				//printf("%f\n",blgr);
		quant.k =pow(((FLOAT)quant.R[j]-violet[0]),2.0)+pow(((FLOAT)quant.G[j]-violet[1]),2.0)+pow(((FLOAT)quant.B[j]-violet[2]),2.0);
		quant.vi=sqrt(quant.k);
				//printf("%f\n",vi);
		quant.l =pow(((FLOAT)quant.R[j]-bluevi[0]),2.0)+pow(((FLOAT)quant.G[j]-bluevi[1]),2.0)+pow(((FLOAT)quant.B[j]-bluevi[2]),2.0);
		quant.blvi=sqrt(quant.l);
				//printf("%f\n",blvi);
		quant.m =pow(((FLOAT)quant.R[j]-green[0]),2.0)+pow(((FLOAT)quant.G[j]-green[1]),2.0)+pow(((FLOAT)quant.B[j]-green[2]),2.0);
		quant.gr=sqrt(quant.m);
				//printf("%f\n",gr);
		quant.n =pow(((FLOAT)quant.R[j]-violetre[0]),2.0)+pow(((FLOAT)quant.G[j]-violetre[1]),2.0)+pow(((FLOAT)quant.B[j]-violetre[2]),2.0);
		quant.vire=sqrt(quant.n);
				//printf("%f\n",vire);
		quant.o=pow(((FLOAT)quant.R[j]-white[0]),2.0)+pow(((FLOAT)quant.G[j]-white[1]),2.0)+pow(((FLOAT)quant.B[j]-white[2]),2.0);	
		quant.wh=sqrt(quant.o);		
				//printf("%f\n",wh);
		quant.p=pow(((FLOAT)quant.R[j]-black[0]),2.0)+pow(((FLOAT)quant.G[j]-black[1]),2.0)+pow(((FLOAT)quant.B[j]-black[2]),2.0);
		quant.bla=sqrt(quant.p);
				//printf("%f\n",bla);
		quant.q=pow(((FLOAT)quant.R[j]-brown[0]),2.0)+pow(((FLOAT)quant.G[j]-brown[1]),2.0)+pow(((FLOAT)quant.B[j]-brown[2]),2.0);
		quant.br=sqrt(quant.q);
				//printf("%f\n",br);
				
		quant.r=pow(((FLOAT)quant.R[j]-yellowgre[0]),2.0)+pow(((FLOAT)quant.G[j]-yellowgre[1]),2.0)+pow(((FLOAT)quant.B[j]-yellowgre[2]),2.0);
		quant.yegr=sqrt(quant.r);		
		
		quant.s=pow(((FLOAT)quant.R[j]-greenbl[0]),2.0)+pow(((FLOAT)quant.G[j]-greenbl[1]),2.0)+pow(((FLOAT)quant.B[j]-greenbl[2]),2.0);
		quant.grbl=sqrt(quant.s);
		
		quant.t=pow(((FLOAT)quant.R[j]-pink[0]),2.0)+pow(((FLOAT)quant.G[j]-pink[1]),2.0)+pow(((FLOAT)quant.B[j]-pink[2]),2.0);
		quant.pi=sqrt(quant.t);
		
		quant.u=pow(((FLOAT)quant.R[j]-offbl[0]),2.0)+pow(((FLOAT)quant.G[j]-offbl[1]),2.0)+pow(((FLOAT)quant.B[j]-offbl[2]),2.0);
		quant.ofbl=sqrt(quant.u);
		
		quant.v=pow(((FLOAT)quant.R[j]-greenyel[0]),2.0)+pow(((FLOAT)quant.G[j]-greenyel[1]),2.0)+pow(((FLOAT)quant.B[j]-greenyel[2]),2.0);
		quant.gryl=sqrt(quant.v);
		
		quant.w=pow(((FLOAT)quant.R[j]-greywh[0]),2.0)+pow(((FLOAT)quant.G[j]-greywh[1]),2.0)+pow(((FLOAT)quant.B[j]-greywh[2]),2.0);
		quant.grwh=sqrt(quant.w);
		
		quant.x=pow(((FLOAT)quant.R[j]-greybl[0]),2.0)+pow(((FLOAT)quant.G[j]-greybl[1]),2.0)+pow(((FLOAT)quant.B[j]-greybl[2]),2.0);
		quant.grbla=sqrt(quant.x);
		
		quant.r2=pow(((FLOAT)quant.R[j]-red2[0]),2.0)+pow(((FLOAT)quant.G[j]-red2[1]),2.0)+pow(((FLOAT)quant.B[j]-red2[2]),2.0);
		quant.re2=sqrt(quant.r2);
		
		quant.r3=pow(((FLOAT)quant.R[j]-red3[0]),2.0)+pow(((FLOAT)quant.G[j]-red3[1]),2.0)+pow(((FLOAT)quant.B[j]-red3[2]),2.0);
		quant.re3=sqrt(quant.r3);
		
		quant.r4=pow(((FLOAT)quant.R[j]-red4[0]),2.0)+pow(((FLOAT)quant.G[j]-red4[1]),2.0)+pow(((FLOAT)quant.B[j]-red4[2]),2.0);
		quant.re4=sqrt(quant.r4);
		
		quant.b2=pow(((FLOAT)quant.R[j]-beige1[0]),2.0)+pow(((FLOAT)quant.G[j]-beige1[1]),2.0)+pow(((FLOAT)quant.B[j]-beige1[2]),2.0);
		quant.be1=sqrt(quant.b2);
		
		quant.b3=pow(((FLOAT)quant.R[j]-beige2[0]),2.0)+pow(((FLOAT)quant.G[j]-beige2[1]),2.0)+pow(((FLOAT)quant.B[j]-beige2[2]),2.0);
		quant.be2=sqrt(quant.b3);
		
		quant.b4=pow(((FLOAT)quant.R[j]-beige3[0]),2.0)+pow(((FLOAT)quant.G[j]-beige3[1]),2.0)+pow(((FLOAT)quant.B[j]-beige3[2]),2.0);
		quant.be3=sqrt(quant.b4);
		
		quant.b5=pow(((FLOAT)quant.R[j]-beige4[0]),2.0)+pow(((FLOAT)quant.G[j]-beige4[1]),2.0)+pow(((FLOAT)quant.B[j]-beige4[2]),2.0);
		quant.be4=sqrt(quant.b5);

		quant.b6=pow(((FLOAT)quant.R[j]-beige5[0]),2.0)+pow(((FLOAT)quant.G[j]-beige5[1]),2.0)+pow(((FLOAT)quant.B[j]-beige5[2]),2.0);
		quant.be5=sqrt(quant.b6);
		
		quant.p2=pow(((FLOAT)quant.R[j]-pink2[0]),2.0)+pow(((FLOAT)quant.G[j]-pink2[1]),2.0)+pow(((FLOAT)quant.B[j]-pink2[2]),2.0);
		quant.pi2=sqrt(quant.p2);
		
		quant.p3=pow(((FLOAT)quant.R[j]-pink3[0]),2.0)+pow(((FLOAT)quant.G[j]-pink3[1]),2.0)+pow(((FLOAT)quant.B[j]-pink3[2]),2.0);
		quant.pi3=sqrt(quant.p3);
		
		quant.p4=pow(((FLOAT)quant.R[j]-pink4[0]),2.0)+pow(((FLOAT)quant.G[j]-pink4[1]),2.0)+pow(((FLOAT)quant.B[j]-pink4[2]),2.0);
		quant.pi4=sqrt(quant.p4);
		
		quant.p5=pow(((FLOAT)quant.R[j]-pink5[0]),2.0)+pow(((FLOAT)quant.G[j]-pink5[1]),2.0)+pow(((FLOAT)quant.B[j]-pink5[2]),2.0);
		quant.pi5=sqrt(quant.p5);
		
		quant.p6=pow(((FLOAT)quant.R[j]-pink6[0]),2.0)+pow(((FLOAT)quant.G[j]-pink6[1]),2.0)+pow(((FLOAT)quant.B[j]-pink6[2]),2.0);
		quant.pi6=sqrt(quant.p6);
		
		quant.p7=pow(((FLOAT)quant.R[j]-pink7[0]),2.0)+pow(((FLOAT)quant.G[j]-pink7[1]),2.0)+pow(((FLOAT)quant.B[j]-pink7[2]),2.0);
		quant.pi7=sqrt(quant.p7);
		
		quant.v2=pow(((FLOAT)quant.R[j]-violet2[0]),2.0)+pow(((FLOAT)quant.G[j]-violet2[1]),2.0)+pow(((FLOAT)quant.B[j]-violet2[2]),2.0);
		quant.vi2=sqrt(quant.v2);
		
		quant.v3=pow(((FLOAT)quant.R[j]-violet3[0]),2.0)+pow(((FLOAT)quant.G[j]-violet3[1]),2.0)+pow(((FLOAT)quant.B[j]-violet3[2]),2.0);
		quant.vi3=sqrt(quant.v3);
		
		quant.v4=pow(((FLOAT)quant.R[j]-violet4[0]),2.0)+pow(((FLOAT)quant.G[j]-violet4[1]),2.0)+pow(((FLOAT)quant.B[j]-violet4[2]),2.0);
		quant.vi4=sqrt(quant.v4);
		
		quant.v5=pow(((FLOAT)quant.R[j]-violet5[0]),2.0)+pow(((FLOAT)quant.G[j]-violet5[1]),2.0)+pow(((FLOAT)quant.B[j]-violet5[2]),2.0);
		quant.vi5=sqrt(quant.v5);
		
		quant.v6=pow(((FLOAT)quant.R[j]-violet6[0]),2.0)+pow(((FLOAT)quant.G[j]-violet6[1]),2.0)+pow(((FLOAT)quant.B[j]-violet6[2]),2.0);
		quant.vi6=sqrt(quant.v6);
		
		quant.v7=pow(((FLOAT)quant.R[j]-violet7[0]),2.0)+pow(((FLOAT)quant.G[j]-violet7[1]),2.0)+pow(((FLOAT)quant.B[j]-violet7[2]),2.0);
		quant.vi7=sqrt(quant.v7);
		
		quant.v8=pow(((FLOAT)quant.R[j]-violet8[0]),2.0)+pow(((FLOAT)quant.G[j]-violet8[1]),2.0)+pow(((FLOAT)quant.B[j]-violet8[2]),2.0);
		quant.vi8=sqrt(quant.v8);
		
		quant.v9=pow(((FLOAT)quant.R[j]-violet9[0]),2.0)+pow(((FLOAT)quant.G[j]-violet9[1]),2.0)+pow(((FLOAT)quant.B[j]-violet9[2]),2.0);
		quant.vi9=sqrt(quant.v9);
		
		quant.v10=pow(((FLOAT)quant.R[j]-violet10[0]),2.0)+pow(((FLOAT)quant.G[j]-violet10[1]),2.0)+pow(((FLOAT)quant.B[j]-violet10[2]),2.0);
		quant.vi10=sqrt(quant.v10);
		
		quant.v11=pow(((FLOAT)quant.R[j]-violet11[0]),2.0)+pow(((FLOAT)quant.G[j]-violet11[1]),2.0)+pow(((FLOAT)quant.B[j]-violet11[2]),2.0);
		quant.vi11=sqrt(quant.v11);
		
		quant.bl2=pow(((FLOAT)quant.R[j]-blue2[0]),2.0)+pow(((FLOAT)quant.G[j]-blue2[1]),2.0)+pow(((FLOAT)quant.B[j]-blue2[2]),2.0);
		quant.blu2=sqrt(quant.bl2);
		
		quant.bl3=pow(((FLOAT)quant.R[j]-blue3[0]),2.0)+pow(((FLOAT)quant.G[j]-blue3[1]),2.0)+pow(((FLOAT)quant.B[j]-blue3[2]),2.0);
		quant.blu3=sqrt(quant.bl3);
		
		quant.bl4=pow(((FLOAT)quant.R[j]-blue4[0]),2.0)+pow(((FLOAT)quant.G[j]-blue4[1]),2.0)+pow(((FLOAT)quant.B[j]-blue4[2]),2.0);
		quant.blu4=sqrt(quant.bl4);
		
		quant.bl5=pow(((FLOAT)quant.R[j]-blue5[0]),2.0)+pow(((FLOAT)quant.G[j]-blue5[1]),2.0)+pow(((FLOAT)quant.B[j]-blue5[2]),2.0);
		quant.blu5=sqrt(quant.bl5);
		
		quant.bl7=pow(((FLOAT)quant.R[j]-blue7[0]),2.0)+pow(((FLOAT)quant.G[j]-blue7[1]),2.0)+pow(((FLOAT)quant.B[j]-blue7[2]),2.0);
		quant.blu7=sqrt(quant.bl7);
		
		quant.bl8=pow(((FLOAT)quant.R[j]-blue8[0]),2.0)+pow(((FLOAT)quant.G[j]-blue8[1]),2.0)+pow(((FLOAT)quant.B[j]-blue8[2]),2.0);
		quant.blu8=sqrt(quant.bl8);
		
		quant.bl9=pow(((FLOAT)quant.R[j]-blue9[0]),2.0)+pow(((FLOAT)quant.G[j]-blue9[1]),2.0)+pow(((FLOAT)quant.B[j]-blue9[2]),2.0);
		quant.blu9=sqrt(quant.bl9);
		
		quant.bl10=pow(((FLOAT)quant.R[j]-blue10[0]),2.0)+pow(((FLOAT)quant.G[j]-blue10[1]),2.0)+pow(((FLOAT)quant.B[j]-blue10[2]),2.0);
		quant.blu10=sqrt(quant.bl10);
		
		quant.g2=pow(((FLOAT)quant.R[j]-green2[0]),2.0)+pow(((FLOAT)quant.G[j]-green2[1]),2.0)+pow(((FLOAT)quant.B[j]-green2[2]),2.0);
		quant.gr2=sqrt(quant.g2);
		
		quant.g3=pow(((FLOAT)quant.R[j]-green3[0]),2.0)+pow(((FLOAT)quant.G[j]-green3[1]),2.0)+pow(((FLOAT)quant.B[j]-green3[2]),2.0);
		quant.gr3=sqrt(quant.g3);

		quant.g4=pow(((FLOAT)quant.R[j]-green4[0]),2.0)+pow(((FLOAT)quant.G[j]-green4[1]),2.0)+pow(((FLOAT)quant.B[j]-green4[2]),2.0);
		quant.gr4=sqrt(quant.g4);
		
		quant.g5=pow(((FLOAT)quant.R[j]-green5[0]),2.0)+pow(((FLOAT)quant.G[j]-green5[1]),2.0)+pow(((FLOAT)quant.B[j]-green5[2]),2.0);
		quant.gr5=sqrt(quant.g5);
		
		quant.g6=pow(((FLOAT)quant.R[j]-green6[0]),2.0)+pow(((FLOAT)quant.G[j]-green6[1]),2.0)+pow(((FLOAT)quant.B[j]-green6[2]),2.0);
		quant.gr6=sqrt(quant.g6);
		
		quant.g7=pow(((FLOAT)quant.R[j]-green7[0]),2.0)+pow(((FLOAT)quant.G[j]-green7[1]),2.0)+pow(((FLOAT)quant.B[j]-green7[2]),2.0);
		quant.gr7=sqrt(quant.g7);
		
		quant.g8=pow(((FLOAT)quant.R[j]-green8[0]),2.0)+pow(((FLOAT)quant.G[j]-green8[1]),2.0)+pow(((FLOAT)quant.B[j]-green8[2]),2.0);
		quant.gr8=sqrt(quant.g8);
		
		quant.g9=pow(((FLOAT)quant.R[j]-green9[0]),2.0)+pow(((FLOAT)quant.G[j]-green9[1]),2.0)+pow(((FLOAT)quant.B[j]-green9[2]),2.0);
		quant.gr9=sqrt(quant.g9);
		
		quant.g10=pow(((FLOAT)quant.R[j]-green10[0]),2.0)+pow(((FLOAT)quant.G[j]-green10[1]),2.0)+pow(((FLOAT)quant.B[j]-green10[2]),2.0);
		quant.gr10=sqrt(quant.g10);

		quant.g11=pow(((FLOAT)quant.R[j]-green11[0]),2.0)+pow(((FLOAT)quant.G[j]-green11[1]),2.0)+pow(((FLOAT)quant.B[j]-green11[2]),2.0);
		quant.gr11=sqrt(quant.g11);
		
		quant.g12=pow(((FLOAT)quant.R[j]-green12[0]),2.0)+pow(((FLOAT)quant.G[j]-green12[1]),2.0)+pow(((FLOAT)quant.B[j]-green12[2]),2.0);
		quant.gr12=sqrt(quant.g12);
		
		quant.g13=pow(((FLOAT)quant.R[j]-green13[0]),2.0)+pow(((FLOAT)quant.G[j]-green13[1]),2.0)+pow(((FLOAT)quant.B[j]-green13[2]),2.0);
		quant.gr13=sqrt(quant.g13);
		
		quant.g14=pow(((FLOAT)quant.R[j]-green14[0]),2.0)+pow(((FLOAT)quant.G[j]-green14[1]),2.0)+pow(((FLOAT)quant.B[j]-green14[2]),2.0);
		quant.gr14=sqrt(quant.g14);
		
		quant.g15=pow(((FLOAT)quant.R[j]-green15[0]),2.0)+pow(((FLOAT)quant.G[j]-green15[1]),2.0)+pow(((FLOAT)quant.B[j]-green15[2]),2.0);
		quant.gr15=sqrt(quant.g15);
		
		quant.y2=pow(((FLOAT)quant.R[j]-yellow2[0]),2.0)+pow(((FLOAT)quant.G[j]-yellow2[1]),2.0)+pow(((FLOAT)quant.B[j]-yellow2[2]),2.0);
		quant.yel2=sqrt(quant.y2);

		quant.y3=pow(((FLOAT)quant.R[j]-yellow3[0]),2.0)+pow(((FLOAT)quant.G[j]-yellow3[1]),2.0)+pow(((FLOAT)quant.B[j]-yellow3[2]),2.0);
		quant.yel3=sqrt(quant.y3);

		quant.y4=pow(((FLOAT)quant.R[j]-yellow4[0]),2.0)+pow(((FLOAT)quant.G[j]-yellow4[1]),2.0)+pow(((FLOAT)quant.B[j]-yellow4[2]),2.0);
		quant.yel4=sqrt(quant.y4);
		
		quant.y5=pow(((FLOAT)quant.R[j]-yellow5[0]),2.0)+pow(((FLOAT)quant.G[j]-yellow5[1]),2.0)+pow(((FLOAT)quant.B[j]-yellow5[2]),2.0);
		quant.yel5=sqrt(quant.y5);
		
		quant.y6=pow(((FLOAT)quant.R[j]-yellow6[0]),2.0)+pow(((FLOAT)quant.G[j]-yellow6[1]),2.0)+pow(((FLOAT)quant.B[j]-yellow6[2]),2.0);
		quant.yel6=sqrt(quant.y6);
		
		quant.y7=pow(((FLOAT)quant.R[j]-yellow7[0]),2.0)+pow(((FLOAT)quant.G[j]-yellow7[1]),2.0)+pow(((FLOAT)quant.B[j]-yellow7[2]),2.0);
		quant.yel7=sqrt(quant.y7);




/*..................................................................sort to find the lowest..........................................................*/


            
		quant.mindis = quant.re;
		if (quant.mindis>quant.reor)
		{quant.mindis=quant.reor;}
		if (quant.mindis>quant.or)
		{quant.mindis=quant.or;}
		if (quant.mindis>quant.orye)
		{quant.mindis=quant.orye;}
		if (quant.mindis>quant.ye)
		{quant.mindis=quant.ye;}
		if (quant.mindis>quant.yegr)
		{quant.mindis=quant.yegr;}
		if (quant.mindis>quant.bl)
		{quant.mindis=quant.bl;}
		if (quant.mindis>quant.blgr)
		{quant.mindis=quant.blgr;}
		if (quant.mindis>quant.vi)
		{quant.mindis=quant.vi;}
		if (quant.mindis>quant.blvi)
		{quant.mindis=quant.blvi;}
		if (quant.mindis>quant.gr)
		{quant.mindis=quant.gr;}
		if (quant.mindis>quant.vire)
		{quant.mindis=quant.vire;}
		if (quant.mindis>quant.wh)
		{quant.mindis=quant.wh;}
		if (quant.mindis>quant.bl)
		{quant.mindis=quant.bla;}
		if (quant.mindis>quant.br)
		{quant.mindis=quant.br;}
		if (quant.mindis>quant.yegr)
		{quant.mindis=quant.yegr;}
		if (quant.mindis>quant.grbl)
		{quant.mindis=quant.grbl;}
		if (quant.mindis>quant.pi)
		{quant.mindis=quant.pi;}
		if (quant.mindis>quant.ofbl)
		{quant.mindis=quant.ofbl;}
		if (quant.mindis>quant.gryl)
		{quant.mindis=quant.gryl;}
		if (quant.mindis>quant.grwh)
		{quant.mindis=quant.grwh;}
		if (quant.mindis>quant.grbla)
		{quant.mindis=quant.grbla;}
		if (quant.mindis>quant.re2)
		{quant.mindis=quant.re2;}
		if (quant.mindis>quant.re3)
		{quant.mindis=quant.re3;}
		if (quant.mindis>quant.re4)
		{quant.mindis=quant.re4;}
		if (quant.mindis>quant.be1)
		{quant.mindis=quant.be1;}
		if (quant.mindis>quant.be2)
		{quant.mindis=quant.be2;}
		if (quant.mindis>quant.be3)
		{quant.mindis=quant.be3;}
		if (quant.mindis>quant.be4)
		{quant.mindis=quant.be4;}
		if (quant.mindis>quant.be5)
		{quant.mindis=quant.be5;}
		if (quant.mindis>quant.pi2)
		{quant.mindis=quant.pi2;}
		if (quant.mindis>quant.pi3)
		{quant.mindis=quant.pi3;}
		if (quant.mindis>quant.pi4)
		{quant.mindis=quant.pi4;}
		if (quant.mindis>quant.pi5)
		{quant.mindis=quant.pi5;}
		if (quant.mindis>quant.pi6)
		{quant.mindis=quant.pi6;}
		if (quant.mindis>quant.vi2)
		{quant.mindis=quant.vi2;}
		if (quant.mindis>quant.vi3)
		{quant.mindis=quant.vi3;}
		if (quant.mindis>quant.vi4)
		{quant.mindis=quant.vi4;}
		if (quant.mindis>quant.vi6)
		{quant.mindis=quant.vi6;}
		if (quant.mindis>quant.vi7)
		{quant.mindis=quant.vi7;}
		if (quant.mindis>quant.vi8)
		{quant.mindis=quant.vi8;}
		if (quant.mindis>quant.vi9)
		{quant.mindis=quant.vi9;}
		if (quant.mindis>quant.vi10)
		{quant.mindis=quant.vi10;}
		if (quant.mindis>quant.vi11)
		{quant.mindis=quant.vi11;}
		if (quant.mindis>quant.blu2)
		{quant.mindis=quant.blu2;}
		if (quant.mindis>quant.blu3)
		{quant.mindis=quant.blu3;}
		if (quant.mindis>quant.blu4)
		{quant.mindis=quant.blu4;}
		if (quant.mindis>quant.blu5)
		{quant.mindis=quant.blu5;}
		if (quant.mindis>quant.blu7)
		{quant.mindis=quant.blu7;}
		if (quant.mindis>quant.blu8)
		{quant.mindis=quant.blu8;}
		if (quant.mindis>quant.blu9)
		{quant.mindis=quant.blu9;}
		if (quant.mindis>quant.blu10)
		{quant.mindis=quant.blu10;}
		if (quant.mindis>quant.gr2)
		{quant.mindis=quant.gr2;}
		if (quant.mindis>quant.gr3)
		{quant.mindis=quant.gr3;}
		if (quant.mindis>quant.gr4)
		{quant.mindis=quant.gr4;}
		if (quant.mindis>quant.gr5)
		{quant.mindis=quant.gr5;}
		if (quant.mindis>quant.gr6)
		{quant.mindis=quant.gr6;}
		if (quant.mindis>quant.gr7)
		{quant.mindis=quant.gr7;}
		if (quant.mindis>quant.gr8)
		{quant.mindis=quant.gr8;}
		if (quant.mindis>quant.gr9)
		{quant.mindis=quant.gr9;}
		if (quant.mindis>quant.gr10)
		{quant.mindis=quant.gr10;}
		if (quant.mindis>quant.gr11)
		{quant.mindis=quant.gr11;}
		if (quant.mindis>quant.gr12)
		{quant.mindis=quant.gr12;}
		if (quant.mindis>quant.gr13)
		{quant.mindis=quant.gr13;}
		if (quant.mindis>quant.gr14)
		{quant.mindis=quant.gr14;}
		if (quant.mindis>quant.gr15)
		{quant.mindis=quant.gr15;}
		if (quant.mindis>quant.yel2)
		{quant.mindis=quant.yel2;}
		if (quant.mindis>quant.yel3)
		{quant.mindis=quant.yel3;}
		if (quant.mindis>quant.yel4)
		{quant.mindis=quant.yel4;}
		if (quant.mindis>quant.yel5)
		{quant.mindis=quant.yel5;}
		if (quant.mindis>quant.yel6)
		{quant.mindis=quant.yel6;}
		if (quant.mindis>quant.yel7)
		{quant.mindis=quant.yel7;}
		//printf("\nquantized color is %f\n",mindis);
/*..........................	....................................depending on the lowest euclidean distance switch color..............................*/
		if (quant.mindis==quant.re)
		{

		quant.R1[j]=(UINT8)red[0];
		quant.G1[j]=(UINT8)red[1];
		quant.B1[j]=(UINT8)red[2];
		}
		else if (quant.mindis==quant.reor)
		{ 
		quant.R1[j]=(UINT8)redor[0];
		quant.G1[j]=(UINT8)redor[1];
		quant.B1[j]=(UINT8)redor[2];
		}
		else if (quant.mindis==quant.or) 
		{
		quant.R1[j]=(UINT8)orange[0];
		quant.G1[j]=(UINT8)orange[1];
		quant.B1[j]=(UINT8)orange[2];
		}
		else if (quant.mindis==quant.orye)
		{
		quant.R1[j]=(UINT8)orangeyel[0];
		quant.G1[j]=(UINT8)orangeyel[1];
		quant.B1[j]=(UINT8)orangeyel[2];
		}
		else if (quant.mindis==quant.ye) 
		{
		quant.R1[j]=(UINT8)yellow[0];
		quant.G1[j]=(UINT8)yellow[1];
		quant.B1[j]=(UINT8)yellow[2];
		}
		else if (quant.mindis==quant.yegr)
		{
		quant.R1[j]=(UINT8)yellowgr[0];
		quant.G1[j]=(UINT8)yellowgr[1];
		quant.B1[j]=(UINT8)yellowgr[2];
		}
		else if (quant.mindis==quant.bl)
		{
		quant.R1[j]=(UINT8)blue[0];
		quant.G1[j]=(UINT8)blue[1];
		quant.B1[j]=(UINT8)blue[2];
		}
		else if (quant.mindis==quant.blgr)
		{
		quant.R1[j]=(UINT8)bluegr[0];
		quant.G1[j]=(UINT8)bluegr[1];
		quant.B1[j]=(UINT8)bluegr[2];
		}
		else if (quant.mindis==quant.vi)
		{
		quant.R1[j]=(UINT8)violet[0];
		quant.G1[j]=(UINT8)violet[1];
		quant.B1[j]=(UINT8)violet[2];
		}
		else if (quant.mindis==quant.blvi)
		{
		quant.R1[j]=(UINT8)bluevi[0];
		quant.G1[j]=(UINT8)bluevi[1];
		quant.B1[j]=(UINT8)bluevi[2];
		}
		else if (quant.mindis==quant.gr) 
		{
		quant.R1[j]=(UINT8)green[0];
		quant.G1[j]=(UINT8)green[1];
		quant.B1[j]=(UINT8)green[2];
		}
		else if (quant.mindis==quant.vire)
		{
		quant.R1[j]=(UINT8)violetre[0];
		quant.G1[j]=(UINT8)violetre[1];
		quant.B1[j]=(UINT8)violetre[2];
		}
		else if (quant.mindis==quant.wh)
		{
		quant.R1[j]=(UINT8)white[0];
		quant.G1[j]=(UINT8)white[1];
		quant.B1[j]=(UINT8)white[2];
		}
		else if (quant.mindis==quant.bla)
		{
		quant.R1[j]=(UINT8)black[0];
		quant.G1[j]=(UINT8)black[1];
		quant.B1[j]=(UINT8)black[2];
		}
		else if (quant.mindis==quant.br) 
		{
		quant.R1[j]=(UINT8)brown[0];
		quant.G1[j]=(UINT8)brown[1];
		quant.B1[j]=(UINT8)brown[2];
		}
		else if (quant.mindis==quant.yegr) 
		{
		quant.R1[j]=(UINT8)yellowgre[0];
		quant.G1[j]=(UINT8)yellowgre[1];
		quant.B1[j]=(UINT8)yellowgre[2];
		}
		else if (quant.mindis==quant.grbl) 
		{
		quant.R1[j]=(UINT8)greenbl[0];
		quant.G1[j]=(UINT8)greenbl[1];
		quant.B1[j]=(UINT8)greenbl[2];
		}
		else if (quant.mindis==quant.pi) 
		{
		quant.R1[j]=(UINT8)pink[0];
		quant.G1[j]=(UINT8)pink[1];
		quant.B1[j]=(UINT8)pink[2];
		}
		else if (quant.mindis==quant.ofbl) 
		{
		quant.R1[j]=(UINT8)offbl[0];
		quant.G1[j]=(UINT8)offbl[1];
		quant.B1[j]=(UINT8)offbl[2];
		}
		else if (quant.mindis==quant.br) 
		{
		quant.R1[j]=(UINT8)brown[0];
		quant.G1[j]=(UINT8)brown[1];
		quant.B1[j]=(UINT8)brown[2];
		}
		else if (quant.mindis==quant.gryl) 
		{
		quant.R1[j]=(UINT8)greenyel[0];
		quant.G1[j]=(UINT8)greenyel[1];
		quant.B1[j]=(UINT8)greenyel[2];
		}
		else if (quant.mindis==quant.grwh) 
		{
		quant.R1[j]=(UINT8)greywh[0];
		quant.G1[j]=(UINT8)greywh[1];
		quant.B1[j]=(UINT8)greywh[2];
		}
		else if (quant.mindis==quant.grbla) 
		{
		quant.R1[j]=(UINT8)greybl[0];
		quant.G1[j]=(UINT8)greybl[1];
		quant.B1[j]=(UINT8)greybl[2];
		}
		else if (quant.mindis==quant.re2) 
		{
		quant.R1[j]=(UINT8)red2[0];
		quant.G1[j]=(UINT8)red2[1];
		quant.B1[j]=(UINT8)red2[2];
		}
		else if (quant.mindis==quant.re3) 
		{
		quant.R1[j]=(UINT8)red3[0];
		quant.G1[j]=(UINT8)red3[1];
		quant.B1[j]=(UINT8)red3[2];
		}
		else if (quant.mindis==quant.re4) 
		{
		quant.R1[j]=(UINT8)red4[0];
		quant.G1[j]=(UINT8)red4[1];
		quant.B1[j]=(UINT8)red4[2];
		}
		else if (quant.mindis==quant.be1) 
		{
		quant.R1[j]=(UINT8)beige1[0];
		quant.G1[j]=(UINT8)beige1[1];
		quant.B1[j]=(UINT8)beige1[2];
		}
		else if (quant.mindis==quant.be2) 
		{
		quant.R1[j]=(UINT8)beige2[0];
		quant.G1[j]=(UINT8)beige2[1];
		quant.B1[j]=(UINT8)beige2[2];
		}
		else if (quant.mindis==quant.be2) 
		{
		quant.R1[j]=(UINT8)beige2[0];
		quant.G1[j]=(UINT8)beige2[1];
		quant.B1[j]=(UINT8)beige2[2];
		}
		else if (quant.mindis==quant.be3) 
		{
		quant.R1[j]=(UINT8)beige3[0];
		quant.G1[j]=(UINT8)beige3[1];
		quant.B1[j]=(UINT8)beige3[2];
		}
		else if (quant.mindis==quant.be4) 
		{
		quant.R1[j]=(UINT8)beige4[0];
		quant.G1[j]=(UINT8)beige4[1];
		quant.B1[j]=(UINT8)beige4[2];
		}
		else if (quant.mindis==quant.be5) 
		{
		quant.R1[j]=(UINT8)beige5[0];
		quant.G1[j]=(UINT8)beige5[1];
		quant.B1[j]=(UINT8)beige5[2];
		}
		else if (quant.mindis==quant.pi2) 
		{
		quant.R1[j]=(UINT8)pink2[0];
		quant.G1[j]=(UINT8)pink2[1];
		quant.B1[j]=(UINT8)pink2[2];
		}
		else if (quant.mindis==quant.pi3) 
		{
		quant.R1[j]=(UINT8)pink3[0];
		quant.G1[j]=(UINT8)pink3[1];
		quant.B1[j]=(UINT8)pink3[2];
		}
		else if (quant.mindis==quant.pi4) 
		{
		quant.R1[j]=(UINT8)pink4[0];
		quant.G1[j]=(UINT8)pink4[1];
		quant.B1[j]=(UINT8)pink4[2];
		}
		else if (quant.mindis==quant.pi5) 
		{
		quant.R1[j]=(UINT8)pink5[0];
		quant.G1[j]=(UINT8)pink5[1];
		quant.B1[j]=(UINT8)pink5[2];
		}
		else if (quant.mindis==quant.pi6) 
		{
		quant.R1[j]=(UINT8)pink6[0];
		quant.G1[j]=(UINT8)pink6[1];
		quant.B1[j]=(UINT8)pink6[2];
		}
		else if (quant.mindis==quant.pi7) 
		{
		quant.R1[j]=(UINT8)pink7[0];
		quant.G1[j]=(UINT8)pink7[1];
		quant.B1[j]=(UINT8)pink7[2];
		}
		else if (quant.mindis==quant.vi2) 
		{
		quant.R1[j]=(UINT8)violet2[0];
		quant.G1[j]=(UINT8)violet2[1];
		quant.B1[j]=(UINT8)violet2[2];
		}
		else if (quant.mindis==quant.vi3) 
		{
		quant.R1[j]=(UINT8)violet3[0];
		quant.G1[j]=(UINT8)violet3[1];
		quant.B1[j]=(UINT8)violet3[2];
		}
		else if (quant.mindis==quant.vi4) 
		{
		quant.R1[j]=(UINT8)violet4[0];
		quant.G1[j]=(UINT8)violet4[1];
		quant.B1[j]=(UINT8)violet4[2];
		}
		else if (quant.mindis==quant.vi5) 
		{
		quant.R1[j]=(UINT8)violet5[0];
		quant.G1[j]=(UINT8)violet5[1];
		quant.B1[j]=(UINT8)violet5[2];
		}
		else if (quant.mindis==quant.vi6) 
		{
		quant.R1[j]=(UINT8)violet6[0];
		quant.G1[j]=(UINT8)violet6[1];
		quant.B1[j]=(UINT8)violet6[2];
		}
		else if (quant.mindis==quant.vi7) 
		{
		quant.R1[j]=(UINT8)violet7[0];
		quant.G1[j]=(UINT8)violet7[1];
		quant.B1[j]=(UINT8)violet7[2];
		}
		else if (quant.mindis==quant.vi8) 
		{
		quant.R1[j]=(UINT8)violet8[0];
		quant.G1[j]=(UINT8)violet8[1];
		quant.B1[j]=(UINT8)violet8[2];
		}
		else if (quant.mindis==quant.vi9) 
		{
		quant.R1[j]=(UINT8)violet9[0];
		quant.G1[j]=(UINT8)violet9[1];
		quant.B1[j]=(UINT8)violet9[2];
		}
		else if (quant.mindis==quant.vi10) 
		{
		quant.R1[j]=(UINT8)violet10[0];
		quant.G1[j]=(UINT8)violet10[1];
		quant.B1[j]=(UINT8)violet10[2];
		}
		else if (quant.mindis==quant.vi11) 
		{
		quant.R1[j]=(UINT8)violet11[0];
		quant.G1[j]=(UINT8)violet11[1];
		quant.B1[j]=(UINT8)violet11[2];
		}
		else if (quant.mindis==quant.blu2) 
		{
		quant.R1[j]=(UINT8)blue2[0];
		quant.G1[j]=(UINT8)blue2[1];
		quant.B1[j]=(UINT8)blue2[2];
		}
		else if (quant.mindis==quant.blu3) 
		{
		quant.R1[j]=(UINT8)blue3[0];
		quant.G1[j]=(UINT8)blue3[1];
		quant.B1[j]=(UINT8)blue3[2];
		}
		else if (quant.mindis==quant.blu4) 
		{
		quant.R1[j]=(UINT8)blue4[0];
		quant.G1[j]=(UINT8)blue4[1];
		quant.B1[j]=(UINT8)blue4[2];
		}
		else if (quant.mindis==quant.blu5) 
		{
		quant.R1[j]=(UINT8)blue5[0];
		quant.G1[j]=(UINT8)blue5[1];
		quant.B1[j]=(UINT8)blue5[2];
		}
		else if (quant.mindis==quant.blu7) 
		{
		quant.R1[j]=(UINT8)blue7[0];
		quant.G1[j]=(UINT8)blue7[1];
		quant.B1[j]=(UINT8)blue7[2];
		}
		else if (quant.mindis==quant.blu8) 
		{
		quant.R1[j]=(UINT8)blue8[0];
		quant.G1[j]=(UINT8)blue8[1];
		quant.B1[j]=(UINT8)blue8[2];
		}
		else if (quant.mindis==quant.blu9) 
		{
		quant.R1[j]=(UINT8)blue9[0];
		quant.G1[j]=(UINT8)blue9[1];
		quant.B1[j]=(UINT8)blue9[2];
		}
		else if (quant.mindis==quant.blu10) 
		{
		quant.R1[j]=(UINT8)blue10[0];
		quant.G1[j]=(UINT8)blue10[1];
		quant.B1[j]=(UINT8)blue10[2];
		}
		else if (quant.mindis==quant.gr2) 
		{
		quant.R1[j]=(UINT8)green2[0];
		quant.G1[j]=(UINT8)green2[1];
		quant.B1[j]=(UINT8)green2[2];
		}
		else if (quant.mindis==quant.gr3) 
		{
		quant.R1[j]=(UINT8)green3[0];
		quant.G1[j]=(UINT8)green3[1];
		quant.B1[j]=(UINT8)green3[2];
		}
		else if (quant.mindis==quant.gr4) 
		{
		quant.R1[j]=(UINT8)green4[0];
		quant.G1[j]=(UINT8)green4[1];
		quant.B1[j]=(UINT8)green4[2];
		}
		else if (quant.mindis==quant.gr5) 
		{
		quant.R1[j]=(UINT8)green5[0];
		quant.G1[j]=(UINT8)green5[1];
		quant.B1[j]=(UINT8)green5[2];
		}
		else if (quant.mindis==quant.gr6) 
		{
		quant.R1[j]=(UINT8)green6[0];
		quant.G1[j]=(UINT8)green6[1];
		quant.B1[j]=(UINT8)green6[2];
		}
		else if (quant.mindis==quant.gr7) 
		{
		quant.R1[j]=(UINT8)green7[0];
		quant.G1[j]=(UINT8)green7[1];
		quant.B1[j]=(UINT8)green7[2];
		}
		else if (quant.mindis==quant.gr8) 
		{
		quant.R1[j]=(UINT8)green8[0];
		quant.G1[j]=(UINT8)green8[1];
		quant.B1[j]=(UINT8)green8[2];
		}
		else if (quant.mindis==quant.gr9) 
		{
		quant.R1[j]=(UINT8)green9[0];
		quant.G1[j]=(UINT8)green9[1];
		quant.B1[j]=(UINT8)green9[2];
		}
		else if (quant.mindis==quant.gr10) 
		{
		quant.R1[j]=(UINT8)green10[0];
		quant.G1[j]=(UINT8)green10[1];
		quant.B1[j]=(UINT8)green10[2];
		}
		else if (quant.mindis==quant.gr11) 
		{
		quant.R1[j]=(UINT8)green11[0];
		quant.G1[j]=(UINT8)green11[1];
		quant.B1[j]=(UINT8)green11[2];
		}
		else if (quant.mindis==quant.gr12) 
		{
		quant.R1[j]=(UINT8)green12[0];
		quant.G1[j]=(UINT8)green12[1];
		quant.B1[j]=(UINT8)green12[2];
		}
		else if (quant.mindis==quant.gr13) 
		{
		quant.R1[j]=(UINT8)green13[0];
		quant.G1[j]=(UINT8)green13[1];
		quant.B1[j]=(UINT8)green13[2];
		}
		else if (quant.mindis==quant.gr14) 
		{
		quant.R1[j]=(UINT8)green14[0];
		quant.G1[j]=(UINT8)green14[1];
		quant.B1[j]=(UINT8)green14[2];
		}
		else if (quant.mindis==quant.gr15) 
		{
		quant.R1[j]=(UINT8)green15[0];
		quant.G1[j]=(UINT8)green15[1];
		quant.B1[j]=(UINT8)green15[2];
		}
		else if (quant.mindis==quant.yel2) 
		{
		quant.R1[j]=(UINT8)yellow2[0];
		quant.G1[j]=(UINT8)yellow2[1];
		quant.B1[j]=(UINT8)yellow2[2];
		}
		else if (quant.mindis==quant.yel3) 
		{
		quant.R1[j]=(UINT8)yellow3[0];
		quant.G1[j]=(UINT8)yellow3[1];
		quant.B1[j]=(UINT8)yellow3[2];
		}
		else if (quant.mindis==quant.yel4) 
		{
		quant.R1[j]=(UINT8)yellow4[0];
		quant.G1[j]=(UINT8)yellow4[1];
		quant.B1[j]=(UINT8)yellow4[2];
		}
		else if (quant.mindis==quant.yel5) 
		{
		quant.R1[j]=(UINT8)yellow5[0];
		quant.G1[j]=(UINT8)yellow5[1];
		quant.B1[j]=(UINT8)yellow5[2];
		}
		else if (quant.mindis==quant.yel6) 
		{
		quant.R1[j]=(UINT8)yellow6[0];
		quant.G1[j]=(UINT8)yellow6[1];
		quant.B1[j]=(UINT8)yellow6[2];
		}
		else if (quant.mindis==quant.yel7) 
		{
		quant.R1[j]=(UINT8)yellow7[0];
		quant.G1[j]=(UINT8)yellow7[1];
		quant.B1[j]=(UINT8)yellow7[2];
		}
		
		
		/*if (j==11 || j==0)
	{
	printf("\nmindis %f",quant.mindis);
	printf("\nconvR%i",quant.convR[j]);
	printf("\nconvG%i",quant.convG[j]);
	printf("\nconvB%i",quant.convB[j]);
	}*/
        }
   //}



}



